package main

import (
	"fmt"
	"math/rand"
)

// 打印乘法口诀表
func kouJue99() {
	for i := 1; i < 10; i++ {
		for j := 1; j <= i; j++ {
			fmt.Printf("%2d*%2d=%2d  ", j, i, i*j)
		}
		fmt.Println()
	}

}

// 随机数题
func diErTi() {
	//设置一个种子
	sum1 := 0
	ji := 1
	src := rand.NewSource(2)
	r1 := rand.New(src)
	for i := 1; i < 21; i++ {
		tmp := r1.Intn(19) + 1 // 产生20以内的非零整数
		fmt.Print(tmp, " ")
		if i%2 == 1 {
			sum1 += tmp
		} else {
			ji *= tmp
		}
	}
	fmt.Println()
	fmt.Println("第单数个的和为:", sum1)
	fmt.Println("第偶数个的积为:", ji)
}

// 打印100以内的feiPoNaQi数列
// 1 1 2 3 5 ...   f(n) = f(n-1) + f(n-2)
func feiPoNaQi(i int) int {
	if i == 1 || i == 2 {
		return 1
	} else {
		a := feiPoNaQi(i-1) + feiPoNaQi(i-2)
		return a
	}
}

func main() {
	//kouJue99()
	//diErTi()
	for i := 1; ; i++ {
		a := feiPoNaQi(i)
		if a > 100 {
			break
		} else {
			fmt.Print(a, " ")
		}
	}
}
